﻿using System;

namespace SharpSqlAnalyzer.nodes
{
	// Token: 0x0200027C RID: 636
	public class TAnalyticFunction : TParseTreeNode
	{
		// Token: 0x06001466 RID: 5222 RVA: 0x00324DCB File Offset: 0x00322FCB
		public void setOrderBy(TOrderBy ob)
		{
			this._orderBy = ob;
		}

		// Token: 0x06001467 RID: 5223 RVA: 0x00324DD4 File Offset: 0x00322FD4
		public void setPartitionBy_ExprList(TExpressionList el)
		{
			this._partitionBy_ExprList = el;
		}

		// Token: 0x170003AB RID: 939
		// (get) Token: 0x06001469 RID: 5225 RVA: 0x00324DE6 File Offset: 0x00322FE6
		// (set) Token: 0x06001468 RID: 5224 RVA: 0x00324DDD File Offset: 0x00322FDD
		public virtual TDummy Window_aggregation_group_clause
		{
			get
			{
				return this._window_aggregation_group_clause;
			}
			set
			{
				this._window_aggregation_group_clause = value;
			}
		}

		// Token: 0x170003AC RID: 940
		// (get) Token: 0x0600146B RID: 5227 RVA: 0x00324DF7 File Offset: 0x00322FF7
		// (set) Token: 0x0600146A RID: 5226 RVA: 0x00324DEE File Offset: 0x00322FEE
		public virtual bool OverClause
		{
			get
			{
				return this._overClause;
			}
			set
			{
				this._overClause = value;
			}
		}

		// Token: 0x170003AD RID: 941
		// (get) Token: 0x0600146D RID: 5229 RVA: 0x00324E08 File Offset: 0x00323008
		// (set) Token: 0x0600146C RID: 5228 RVA: 0x00324DFF File Offset: 0x00322FFF
		public virtual bool WithinGroup
		{
			get
			{
				return this._withinGroup;
			}
			set
			{
				this._withinGroup = value;
			}
		}

		// Token: 0x170003AE RID: 942
		// (get) Token: 0x0600146F RID: 5231 RVA: 0x00324E19 File Offset: 0x00323019
		// (set) Token: 0x0600146E RID: 5230 RVA: 0x00324E10 File Offset: 0x00323010
		public virtual TOrderBy WithinGroupOrderBy
		{
			get
			{
				return this.withinGroupOrderBy;
			}
			set
			{
				this.withinGroupOrderBy = value;
			}
		}

		// Token: 0x170003AF RID: 943
		// (get) Token: 0x06001471 RID: 5233 RVA: 0x00324E2A File Offset: 0x0032302A
		// (set) Token: 0x06001470 RID: 5232 RVA: 0x00324E21 File Offset: 0x00323021
		public virtual TOrderBy OrderBy
		{
			get
			{
				return this._orderBy;
			}
			set
			{
				this._orderBy = value;
			}
		}

		// Token: 0x170003B0 RID: 944
		// (get) Token: 0x06001473 RID: 5235 RVA: 0x00324E3B File Offset: 0x0032303B
		// (set) Token: 0x06001472 RID: 5234 RVA: 0x00324E32 File Offset: 0x00323032
		public virtual TExpressionList PartitionBy_ExprList
		{
			get
			{
				return this._partitionBy_ExprList;
			}
			set
			{
				this._partitionBy_ExprList = value;
			}
		}

		// Token: 0x170003B1 RID: 945
		// (get) Token: 0x06001475 RID: 5237 RVA: 0x00324E4C File Offset: 0x0032304C
		// (set) Token: 0x06001474 RID: 5236 RVA: 0x00324E43 File Offset: 0x00323043
		public virtual TKeepDenseRankClause KeepDenseRankClause
		{
			get
			{
				return this._keepDenseRankClause;
			}
			set
			{
				this._keepDenseRankClause = value;
			}
		}

		// Token: 0x06001476 RID: 5238 RVA: 0x00324E54 File Offset: 0x00323054
		public override void doParse(TCustomSqlStatement psql, ESqlClause plocation)
		{
			if (this._keepDenseRankClause != null)
			{
				this._keepDenseRankClause.doParse(psql, plocation);
			}
			if (this._orderBy != null)
			{
				this._orderBy.doParse(psql, plocation);
			}
			if (this._partitionBy_ExprList != null)
			{
				this._partitionBy_ExprList.doParse(psql, plocation);
			}
		}

		// Token: 0x06001477 RID: 5239 RVA: 0x00324EA0 File Offset: 0x003230A0
		public override void accept(TParseTreeVisitor v)
		{
			v.preVisit(this);
			v.postVisit(this);
		}

		// Token: 0x06001478 RID: 5240 RVA: 0x00324EB0 File Offset: 0x003230B0
		public override void acceptChildren(TParseTreeVisitor v)
		{
			v.preVisit(this);
			if (this._keepDenseRankClause != null)
			{
				this._keepDenseRankClause.acceptChildren(v);
			}
			if (this._orderBy != null)
			{
				this._orderBy.acceptChildren(v);
			}
			if (this._partitionBy_ExprList != null)
			{
				this._partitionBy_ExprList.acceptChildren(v);
			}
			v.postVisit(this);
		}

		// Token: 0x040016D8 RID: 5848
		private TDummy _window_aggregation_group_clause;

		// Token: 0x040016D9 RID: 5849
		private bool _overClause;

		// Token: 0x040016DA RID: 5850
		private bool _withinGroup;

		// Token: 0x040016DB RID: 5851
		private TKeepDenseRankClause _keepDenseRankClause;

		// Token: 0x040016DC RID: 5852
		private TExpressionList _partitionBy_ExprList;

		// Token: 0x040016DD RID: 5853
		private TOrderBy _orderBy;

		// Token: 0x040016DE RID: 5854
		private TOrderBy withinGroupOrderBy;
	}
}
